﻿//-------------------------------------------------------------------------
///-----------------_类的设计模式------------------------------------------
///-----------------_类的单例模式------------------------------------------
///-----------------2021/5/8---by mv-------------------------------
//-------------------------------------------------------------------------
#pragma once

//-------------------------------------------------------------------------
#ifndef _CLASS_PROMGR_H
#define _CLASS_PROMGR_H

//-------------------------------------------------------------------------
//#include "ipc/ipc_session.h"
#include "common/global_include.h"
//-------------------------------------------------------------------------

namespace mv
{
    //----------------------------------------------
    class ProMgr
    {
    public:
        //----------------------------------------------
        /// 单例模式（Singleton)
        ///  1.  _不能使用new创建对象，也不能直接定义类变量
        ///  2.  _至少需要提供一个静态的方法，用于返回唯一的对象实例
        //----------------------------------------------
        static ProMgr* getSingleton(void);
        static void destroyInstance(void);
        //----------------------------------------------
    public:
        void initPro();

    private:
        ProMgr();
        ProMgr(const ProMgr&);
    public:
        mv::FileMgr* getFileMgr();
		bool startIpcServer(const std::string& iniParm="");
    private:
        static ProMgr* _ProMgr;///_对外实例
        mv::FileMgr* m_pFile=nullptr;
        //-------------------------------------------------
    };

    //----------------------------------------------
}

//----------------------------------------------
#endif //!_CLASS_PROMGR_H
